Student Information

Introduction

The aim of this project is tell a story about AirBnB listings through graphs in plotly package and dplyr packages in R.

Housing Crisis in Ireland is a hot topic at the moment, which is affecting vast number of people, both young and old. AirBnB is the leading short-term lease of a private property website, where individuals place their homes on AirBnB to lease it to tourists on a short-term basis.

In this report, I will be examining the impact of AirBnB on Irish Housing Crisis, by analysing AirBnB listings data by examining the RTZs from Residential Tenancies Board, Irish housing report from Daft.ie and the Homelessness Report from the Irish government.

To fully take advantage the beauty of plotly interactivity, please knit this file into a HTML file. This will allow you, as the reader, to interact with the graphs. If the project in knitted into a word document, then the graphs will not be displayed, only tables will be displayed, which were created using dplyr.

Please note: two Rmd files were submitted, one analysing AirBnB data, the other treating and extracting important information from ‘calendar.csv’. That dataset that has over 9 million rows, which affected computer run time, knitting time and code execution, so it was summarised and two datasets emerged from that dataset, which were used in this report.

Files submitted

  • listings.csv - AirBnB listings in Ireland from the beginning of AirBnB operating in Ireland
  • calendar.csv - AirBnB listings from 23rd October 2021 to 21st October 2021 (dates not chosen by student, supplied by AirBnB), contains 9 million rows.
  • homeless_September_2021.csv - Homeless Report, which is published every month by the Irish government, captures statistics about homelessness (Department of Housing, Local Government and Heritage, 2021). The csv was manually created from this report.
  • rent_pressure_zones.csv -RTZs (RPZs) were developed by the Irish government to tackle rising rents lack of affordable rental units. These are areas located in parts of the country where rents are the highest and rising, and where households have the greatest difficulty finding affordable accommodation (Residential Tenancies Board, 2021). The csv was manually created from RTB website.
  • rent_in_ireland.csv - The website daft.ie is the leading property website in Ireland, which publishes reports on the Irish housing market every quarter. For this next dataset, the report Q2 2021 was used to find out the rent in each city and county in Ireland (Lyons, 2021). The csv was manually created from the report.
  • Karina.Jonina.Project.html - Document presents Karina.Jonina.Project.Rmd in HTML

Due to the 9 million rows in calendar.csv, it was decided to treat this dataset outside of this analysis due to the size of it.

  • calendar_df.Rmd - Code to treat calendar.csv and create the two datasets below to analyse in this report
  • summarise_df.csv - A new dataset from calendar.csv was created, where listings were examined by availability for each month within a year (23rd October 2021 to 21st October 2022).
  • available_nights_df.csv - A new dataset summarising the number of available nights for each listing in a year (23rd October 2021 to 21st October 2022).
  • calendar_df.html - Document presents calendar_df.Rmd in HTML

Presentation

  • Karina.Jonina.Project.Presentation.Rmd - Rmd file for presentation
  • Karina.Jonina.Project.Presentation.html - Document presents Karina.Jonina.Project.Presentation.Rmd - Rmd in HTML for presentation due on the 12th January 2022.

Abbreviations

  • LEA - Local Electoral Areas
  • RPZ - RTZ
  • RTB - Residential Tenancies Board

Business Understanding

Housing Crisis

There is a huge housing crisis in Ireland, which has been defined as a shortage of affordable accommodation for renting or buying. Irish government has made attempts to reduce the housing crisis with plans of affordable and social housing, however, lobbyists criticise the government for late intervention and lack of innovative solutions. Both young adults (under 35 years old) and more older adults are worrying about not being able to afford a home because of rent prices and increasing house prices.

Rent Report

Rent prices all over Ireland are increasing and Irish people worry about the affordability of rent, considering in areas like Dublin, individuals can pay up to 50% of their salary for rent. This is very nerve-wracking experience for the tenants. Daft.ie is the leading property website in Ireland, which publishes reports on the Irish housing market every quarter. For this next dataset, the report Q2 2021 was used to find out the rent in each town and city in Ireland (Lyons, 2021) .

Rent Pressure Zones

To deal with rising rents and lack of affordable rental units, the government introduced Rent Pressure Zones (RPZs). These are areas located in parts of the country where rents are highest and rising, and where households have the greatest difficulty finding affordable accommodation (Residential Tenancies Board, 2021). Currently, there are six Local Authority Areas and 48 Local Electoral Areas (LEA) which have been designated as RTZs. In these areas, the rent cannot be increased by more than general inflation. The list is available to be viewed on Residential Tenancies Board (RTB) (Residential Tenancies Board, 2021).

Homelessness

Due to the Irish rent prices, more and more individuals are loosing their homes and end up homeless on the streets. Some are homeless and are recoded in the data collected by the Irish government by Simon Community and Focus Ireland. However, there is a cohort of homeless people who live on couches of friends and families are not represented in the data. As the second quarter of 2021, there are over 4,000 adults homeless in Dublin. Homeless Report, which is published every month, captures homeless statistics (Department of Housing, Local Government and Heritage, 2021).

AirBnB

AirBnB hosts and AirBnB, itself, have been strongly criticised for the increase of listings for short-term leasing for tourism. It has been reported that over 30,000 Irish listings on the site in Ireland for short-term lease (Pope, 2021). The article from The Irish Times continues to state that nearly half of those listings are rooms in private homes and over 10,000 entire homes are available all-year-round.

There have been talks of the Irish government to “bring legislation to create new measures that would target at least some of those properties and may see them return to the long-term rental market. Any moves which curtail the availability of AirBnB in popular tourism destinations around the country are likely to have a knock-on impact on accommodation availability and prices once international tourism resumes in a significant way in the post-pandemic period” (Pope, 2021). At the start of the pandemic, figures from estate agent Sherry FitzGerald show the number of properties available for rent in Dublin rose from 1,593 in November 2019 to 3,039 by the end March 2020 (Burke-Kennedy, 2021).

Potential Long-Term Use of Accommodation Type at AirBnB

  • Entire Rental Unit – this could be a house or an apartment. For this report, entire rental units will be viewed as a possible long-term accommodation for a family.
  • Private Room – this is a private room in a shared house. This type of accommodation is usually used by students for the academic months of the year or young professionals (all year around).
  • Shared Room – this is a shared room in a shared house. This type of accommodation is usually used by students for the academic months of the year.

Research Question

  1. What is the impact of AirBnB on Irish Housing Crisis?
  2. Can moving entire rental units and private rooms from AirBnB listings take the pressure of the Irish Housing Crisis?

A lot of thought was brought to decided how to analyse and visualise the AirBnB data to answer the research questions above, so the following questions were developed as a lens to aid answering above questions.

  1. How many entire houses, private rooms and shared rooms are located in Pressure Rent Zones?
  2. How do AirBnB listings in RPZs compare to the rest of country on number of listings, room type, price, minimum nights, etc?
  3. When are these AirBnB listings available?
  4. How many entire houses in AirBnB listings, located in Pressure Rent Zones, are above 90-day threshold, requiring planning permission for the local authority?
  5. How many AirBnB listings are available for longer than short-term lease (14-days)?
  6. How many AirBnB listings, located in Pressure Rent Zones, target students?
  7. Which hosts own the most of AirBnB listings located in Pressure Rent Zones? How many listings are there? What is the average price, minimum stay, availability? What is the lease type and is it over the threshold?
  8. Should landlords rent their property or put it on AirBnB? Which is more profitable?
  9. What is the comparison between AirBnB listings and homeless figures?

Data Understanding

AirBnB listings in Ireland

Dataset used about properties listed on AirBnB in Ireland up to 21st October 2021. It was downloaded from http://insideAirBnB.com/get-the-data.html (listing.csv).

Data Dictionary was summarised from https://docs.google.com/spreadsheets/d/1iWCNJcSutYqpULSQHlNyGInUvHg2BoUGoNRIGa6Szc4/edit#gid=982310896

This dataset contains information about the AirBnB Listing such as listing id, host id, name, number of reviews, daily price. More columns will be presented in Data Understanding section.

# reading the csv
df =  read.csv('listings.csv')

In ‘df’ dataset, there are 25515 rows and 18 columns. Columns names are id, name, host_id, host_name, neighbourhood_group, neighbourhood, latitude, longitude, room_type, price, minimum_nights, number_of_reviews, last_review, reviews_per_month, calculated_host_listings_count, availability_365, number_of_reviews_ltm, license.

#check the class of df
class(df)
## [1] "data.frame"
#check the column names for  df
colnames(df)
##  [1] "id"                             "name"                          
##  [3] "host_id"                        "host_name"                     
##  [5] "neighbourhood_group"            "neighbourhood"                 
##  [7] "latitude"                       "longitude"                     
##  [9] "room_type"                      "price"                         
## [11] "minimum_nights"                 "number_of_reviews"             
## [13] "last_review"                    "reviews_per_month"             
## [15] "calculated_host_listings_count" "availability_365"              
## [17] "number_of_reviews_ltm"          "license"
# examining the structure in df
str(df)
## 'data.frame':    25515 obs. of  18 variables:
##  $ id                            : int  50264642 32498446 9291209 20780307 44344311 30314099 18037875 28957610 33835587 52026597 ...
##  $ name                          : chr  "Sweet Inn | Welcoming Apt. in the city center" "Modern City Cottage in Grand Canal with Peloton !" "Apt 171 Academy Building" "Double bedroom in great Dublin city location!" ...
##  $ host_id                       : int  331327228 244182580 48242159 130234671 113530982 139583941 11436695 251996563 96407029 92009806 ...
##  $ host_name                     : chr  "Sweet Inn" "Julia" "Jason" "Michelle" ...
##  $ neighbourhood_group           : chr  "Dublin City Council" "Dublin City Council" "Dublin City Council" "Dublin City Council" ...
##  $ neighbourhood                 : chr  "South East Inner City LEA-5" "South East Inner City LEA-5" "Ballyfermot-Drimnagh LEA-5" "Ballyfermot-Drimnagh LEA-5" ...
##  $ latitude                      : num  53.3 53.3 53.3 53.3 53.3 ...
##  $ longitude                     : num  -6.24 -6.23 -6.38 -6.35 -6.24 ...
##  $ room_type                     : chr  "Entire home/apt" "Entire home/apt" "Private room" "Private room" ...
##  $ price                         : int  239 363 35 47 171 40 450 500 195 95 ...
##  $ minimum_nights                : int  2 2 1 2 14 1 1 2 2 7 ...
##  $ number_of_reviews             : int  2 14 0 66 9 2 9 45 51 1 ...
##  $ last_review                   : chr  "2021-11-02" "2020-09-01" "" "2020-02-17" ...
##  $ reviews_per_month             : num  0.67 0.41 NA 1.4 0.6 0.05 0.21 1.19 1.62 0.75 ...
##  $ calculated_host_listings_count: int  3 2 1 1 3 1 1 1 3 1 ...
##  $ availability_365              : int  345 314 0 0 51 0 85 257 60 227 ...
##  $ number_of_reviews_ltm         : int  2 0 0 0 5 0 8 14 21 1 ...
##  $ license                       : logi  NA NA NA NA NA NA ...
# examining the top 5 rows in df
head(df)
# examining summary of all numeric columns in df
summary(df)
##        id               name              host_id           host_name        
##  Min.   :   11532   Length:25515       Min.   :    42928   Length:25515      
##  1st Qu.:17633748   Class :character   1st Qu.: 32325183   Class :character  
##  Median :27578650   Mode  :character   Median : 92281905   Mode  :character  
##  Mean   :28990493                      Mean   :127987416                     
##  3rd Qu.:42452620                      3rd Qu.:195689786                     
##  Max.   :53939229                      Max.   :436901795                     
##                                                                              
##  neighbourhood_group neighbourhood         latitude       longitude      
##  Length:25515        Length:25515       Min.   :51.43   Min.   :-10.540  
##  Class :character    Class :character   1st Qu.:52.49   1st Qu.: -9.285  
##  Mode  :character    Mode  :character   Median :53.32   Median : -8.091  
##                                         Mean   :53.16   Mean   : -7.931  
##                                         3rd Qu.:53.47   3rd Qu.: -6.286  
##                                         Max.   :55.38   Max.   : -6.014  
##                                                                          
##   room_type             price           minimum_nights     number_of_reviews
##  Length:25515       Min.   :      0.0   Min.   :   1.000   Min.   :   0.0   
##  Class :character   1st Qu.:     64.0   1st Qu.:   1.000   1st Qu.:   3.0   
##  Mode  :character   Median :     99.0   Median :   2.000   Median :  13.0   
##                     Mean   :    237.2   Mean   :   4.699   Mean   :  38.7   
##                     3rd Qu.:    150.0   3rd Qu.:   3.000   3rd Qu.:  45.0   
##                     Max.   :1173721.0   Max.   :1125.000   Max.   :1331.0   
##                                                                             
##  last_review        reviews_per_month calculated_host_listings_count
##  Length:25515       Min.   : 0.010    Min.   :  1.000               
##  Class :character   1st Qu.: 0.250    1st Qu.:  1.000               
##  Mode  :character   Median : 0.720    Median :  1.000               
##                     Mean   : 1.195    Mean   :  6.378               
##                     3rd Qu.: 1.600    3rd Qu.:  3.000               
##                     Max.   :76.130    Max.   :204.000               
##                     NA's   :3339                                    
##  availability_365 number_of_reviews_ltm license       
##  Min.   :  0.0    Min.   :  0.000       Mode:logical  
##  1st Qu.:  0.0    1st Qu.:  0.000       NA's:25515    
##  Median :145.0    Median :  2.000                     
##  Mean   :157.1    Mean   :  7.093                     
##  3rd Qu.:308.0    3rd Qu.:  9.000                     
##  Max.   :365.0    Max.   :366.000                     
## 

Data Dictionary

Field Type Description
id integer AirBnB’s unique identifier for the listing
name text Title of the property on AirBnB
host_id interger AirBnB’s unique identifier for the host
host_name text Host’s name
neighbourhood text Local Electoral Areas (LEAs)
neighbourhood_group text County or City Council
latitude numeric Uses the World Geodetic System (WGS84) projection for latitude and longitude
longitude numeric Uses the World Geodetic System (WGS84) projection for latitude and longitude
room_type string Entire house/apt, Private room, Shared room, Hotel room
price currency Daily price in local currency
minimum_nights integer minimum number of night stay for the listing (calendar rules may be different)
number_of_reviews integer The number of reviews the listing has
last_review date The date of the last/newest review
calculated_host_listings_count integer The number of listings the host has in the current scrape, in the city/region geography
availability_365 integer availability_x. The availability of the listing x days in the future as determined by the calendar. Note a listing may be available because it has been booked by a guest or blocked by the host
number_of_reviews_ltm integer The number of reviews the listing has (in the last 12 months)
licence string Unclear from data dictionary provided by AirBnB

Dateset ‘summarise_df’

Dateset ‘summarise_df’ was created from ‘calendar.csv’, which was downloaded from the AirBnB website. It was downloaded from http://insideAirBnB.com/get-the-data.html (calendar.csv). This dataset is between 23rd October 2021 to 21st October 2022. This dataset states whether the AirBnB listing is available on a specific date.

To examine how this dataset was created please see Rmd file called ‘calendar_df.Rmd’

# reading the csv
summarise_df =  read.csv('summarise_df.csv')

In ‘summarise_df’ dataset, there are 152798 rows and 7 columns in the dataset. Columns names are X, listing_id, month, count, min_price, mean_price, max_price.

#check the class of summarise_df
class(summarise_df)
## [1] "data.frame"
#check the column names for  summarise_df
colnames(summarise_df)
## [1] "X"          "listing_id" "month"      "count"      "min_price" 
## [6] "mean_price" "max_price"
# examining the structure in summarise_df
str(summarise_df)
## 'data.frame':    152798 obs. of  7 variables:
##  $ X         : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ listing_id: int  11532 11532 11532 11532 11532 11532 11532 11532 11532 11532 ...
##  $ month     : chr  "January" "February" "March" "April" ...
##  $ count     : int  29 28 31 23 29 26 23 26 30 31 ...
##  $ min_price : int  395 395 395 395 395 395 440 440 395 395 ...
##  $ mean_price: num  407 408 407 411 406 ...
##  $ max_price : int  440 440 440 440 440 440 480 480 440 440 ...
# examining the top 5 rows in summarise_df
head(summarise_df)
# examining summary of all numeric columns in summarise_df
summary(summarise_df)
##        X            listing_id          month               count      
##  Min.   :     1   Min.   :   11532   Length:152798      Min.   : 1.00  
##  1st Qu.: 38200   1st Qu.:17899075   Class :character   1st Qu.:24.00  
##  Median : 76400   Median :30906693   Mode  :character   Median :30.00  
##  Mean   : 76400   Mean   :30317477                      Mean   :26.24  
##  3rd Qu.:114599   3rd Qu.:44672317                      3rd Qu.:31.00  
##  Max.   :152798   Max.   :53939229                      Max.   :31.00  
##                                                                        
##    min_price       mean_price       max_price    
##  Min.   :  9.0   Min.   :  9.00   Min.   :  9.0  
##  1st Qu.: 70.0   1st Qu.: 70.13   1st Qu.: 75.0  
##  Median :100.0   Median :104.00   Median :110.0  
##  Mean   :131.7   Mean   :135.45   Mean   :143.5  
##  3rd Qu.:150.0   3rd Qu.:157.67   3rd Qu.:166.0  
##  Max.   :999.0   Max.   :999.00   Max.   :999.0  
##  NA's   :2197    NA's   :2197     NA's   :2197

Data Dictionary

Field Type Description
listing_id integer AirBnB’s unique identifier for the listing
month date Month of the year
count integer Number of nights available in that month
min_price integer Minimum price for that listing in that month
mean_price integer Mean price for that listing in that month
max_price integer Maximum price for that listing in that month

Dateset ‘available_nights_df’

Dateset ‘available_nights’ was created from ‘calendar.csv’, which was downloaded from the AirBnB website. It was downloaded from http://insideAirBnB.com/get-the-data.html (calendar.csv). This dataset is between 23rd October 2021 to 21st October 2022. This dataset states whether the AirBnB listing is available on a specific date.

To examine how this dataset was created please see Rmd file called ‘calendar_df.Rmd’

# reading the csv
available_nights_df =  read.csv('available_nights_df.csv')

In ‘available_nights_df’ dataset, there are 18169 rows and 3 columns in the dataset. Columns names are X, listing_id, available_nights.

#check the class of available_nights_df
class(available_nights_df)
## [1] "data.frame"
#check the column names for  available_nights_df
colnames(available_nights_df)
## [1] "X"                "listing_id"       "available_nights"
# examining the structure in available_nights_df
str(available_nights_df)
## 'data.frame':    18169 obs. of  3 variables:
##  $ X               : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ listing_id      : int  11532 24927 27106 36950 40176 41538 42037 43280 44077 44919 ...
##  $ available_nights: int  335 53 345 349 225 225 59 111 248 365 ...
# examining the top 5 rows in available_nights_df
head(available_nights_df)
# examining summary of all numeric columns in available_nights_df
summary(available_nights_df)
##        X           listing_id       available_nights
##  Min.   :    1   Min.   :   11532   Min.   :  1.0   
##  1st Qu.: 4543   1st Qu.:18342273   1st Qu.:113.0   
##  Median : 9085   Median :30807557   Median :240.0   
##  Mean   : 9085   Mean   :30437729   Mean   :220.7   
##  3rd Qu.:13627   3rd Qu.:44500852   3rd Qu.:339.0   
##  Max.   :18169   Max.   :53939229   Max.   :365.0

Data Dictionary

Field Type Description
listing_id integer AirBnB’s unique identifier for the listing
available_nights integer Number of nights avaible during the year

RTZs

RTZs (RPZs) were developed by the Irish government to tackle rising rents lack of affordable rental units. These are areas located in parts of the country where rents are the highest and rising, and where households have the greatest difficulty finding affordable accommodation (Residential Tenancies Board, 2021). The csv was manually created from RTB website.

# reading the csv
rpz_df =  read.csv('rent_pressure_zones.csv')

In ‘rpz_df’ dataset, there are 57 rows and 2 columns. Columns names are neighbourhood, RPZ.

#check the class of rpz_df
class(rpz_df)
## [1] "data.frame"
#check the column names for  rpz_df
colnames(rpz_df)
## [1] "neighbourhood" "RPZ"
# examining the structure in rpz_df
str(rpz_df)
## 'data.frame':    57 obs. of  2 variables:
##  $ neighbourhood: chr  "Cork City Council" "Dublin City Council" "Dún Laoghaire-Rathdown County Council" "Fingal County Council" ...
##  $ RPZ          : chr  " TRUE" " TRUE" " TRUE" " TRUE" ...
# examining the top 5 rows in rpz_df
head(rpz_df)
# examining summary of all numeric columns in rpz_df
summary(rpz_df)
##  neighbourhood          RPZ           
##  Length:57          Length:57         
##  Class :character   Class :character  
##  Mode  :character   Mode  :character

Data Dictionary

Field Type Description
neighbourhood text LEA or County Council e.g. Kildare County Council and Naas LEA
rpz logical Stating whether the area is in RTZs (RPZ): true or false

Rent Prices in Ireland

The website daft.ie is the leading property website in Ireland, which publishes reports on the Irish housing market every quarter. For this next dataset, the report Q2 2021 was used to find out the rent in each city and county in Ireland (Lyons, 2021). The csv was manually created from the report.

# reading the csv
rent_df =  read.csv('rent_in_ireland.csv')

In ‘rent_df’ dataset, here are 28 rows and 2 columns. Columns names are county_city, rent_price_per_month.

#check the class of rent_df
class(rent_df)
## [1] "data.frame"
#check the column names for  rent_df
colnames(rent_df)
## [1] "county_city"          "rent_price_per_month"
# examining the structure in rent_df
str(rent_df)
## 'data.frame':    28 obs. of  2 variables:
##  $ county_city         : chr  "Dublin City" "Cork City" "Galway City" "County Wicklow" ...
##  $ rent_price_per_month: int  2000 1524 1443 1554 1482 1448 1337 1171 1117 1107 ...
# examining the top 5 rows in rent_df
head(rent_df)
# examining summary of all numeric columns in rent_df
summary(rent_df)
##  county_city        rent_price_per_month
##  Length:28          Min.   : 744.0      
##  Class :character   1st Qu.: 945.2      
##  Mode  :character   Median :1066.5      
##                     Mean   :1430.8      
##                     3rd Qu.:1363.5      
##                     Max.   :9667.0

Data Dictionary

Field Type Description
county_city text County or City, e.g. County Galway and Galway City
rent_price_per_month integer Average price of a rental property in an area

Homelessness

Homeless Report, which is published every month by the Irish government, captures statistics about homelessness (Department of Housing, Local Government and Heritage, 2021). The csv was manually created from this report.

# reading the csv
homelessness_df =  read.csv('homeless_September_2021.csv')

In ‘homelessness_df’ dataset, there are 22 rows and 2 columns. Columns names are ï..homeless_county, number.

#check the class of homelessness_df
class(homelessness_df)
## [1] "data.frame"
#check the column names for  homelessness_df
colnames(homelessness_df)
## [1] "ï..homeless_county" "number"
# examining the structure in homelessness_df
str(homelessness_df)
## 'data.frame':    22 obs. of  2 variables:
##  $ ï..homeless_county: chr  "Dublin" "Kildare" "Meath" "Wicklow" ...
##  $ number            : int  4432 122 170 32 24 12 20 33 51 231 ...
# examining the top 5 rows in homelessness_df
head(homelessness_df)
# examining summary of all numeric columns in homelessness_df
summary(homelessness_df)
##  ï..homeless_county     number      
##  Length:22          Min.   :  12.0  
##  Class :character   1st Qu.:  33.0  
##  Mode  :character   Median :  44.0  
##                     Mean   : 287.1  
##                     3rd Qu.: 115.0  
##                     Max.   :4432.0

Data Dictionary

Field Type Description
county text County Council e.g. Kildare meaning Co.Kildare. Some counties are grouped together.
number integer Number of homeless individuals in that county

Data Preparation

Dataset ‘summarise_df’

Column ‘month’ had to be declared a category and ordering of months had to occur.

# changing 'month' to factor
summarise_df$mmonth <- as.factor(summarise_df$month)

# changing  the order of factors
summarise_df$month <- factor(summarise_df$month, levels = c("January", "February", "March","April", "May", "June","July", "August", "September","October", "November", "December"))

Dataset ‘df’

## 'data.frame':    25515 obs. of  18 variables:
##  $ id                            : int  50264642 32498446 9291209 20780307 44344311 30314099 18037875 28957610 33835587 52026597 ...
##  $ name                          : chr  "Sweet Inn | Welcoming Apt. in the city center" "Modern City Cottage in Grand Canal with Peloton !" "Apt 171 Academy Building" "Double bedroom in great Dublin city location!" ...
##  $ host_id                       : int  331327228 244182580 48242159 130234671 113530982 139583941 11436695 251996563 96407029 92009806 ...
##  $ host_name                     : chr  "Sweet Inn" "Julia" "Jason" "Michelle" ...
##  $ neighbourhood_group           : chr  "Dublin City Council" "Dublin City Council" "Dublin City Council" "Dublin City Council" ...
##  $ neighbourhood                 : chr  "South East Inner City LEA-5" "South East Inner City LEA-5" "Ballyfermot-Drimnagh LEA-5" "Ballyfermot-Drimnagh LEA-5" ...
##  $ latitude                      : num  53.3 53.3 53.3 53.3 53.3 ...
##  $ longitude                     : num  -6.24 -6.23 -6.38 -6.35 -6.24 ...
##  $ room_type                     : chr  "Entire home/apt" "Entire home/apt" "Private room" "Private room" ...
##  $ price                         : int  239 363 35 47 171 40 450 500 195 95 ...
##  $ minimum_nights                : int  2 2 1 2 14 1 1 2 2 7 ...
##  $ number_of_reviews             : int  2 14 0 66 9 2 9 45 51 1 ...
##  $ last_review                   : chr  "2021-11-02" "2020-09-01" "" "2020-02-17" ...
##  $ reviews_per_month             : num  0.67 0.41 NA 1.4 0.6 0.05 0.21 1.19 1.62 0.75 ...
##  $ calculated_host_listings_count: int  3 2 1 1 3 1 1 1 3 1 ...
##  $ availability_365              : int  345 314 0 0 51 0 85 257 60 227 ...
##  $ number_of_reviews_ltm         : int  2 0 0 0 5 0 8 14 21 1 ...
##  $ license                       : logi  NA NA NA NA NA NA ...

License

License has no unique values, therefore, it was dropped from the dataset.

# examining unique values in column 'license'  
unique(df$license)
## [1] NA
#examining the columns names of df to make sure 'license' is dropped
colnames(df)
##  [1] "id"                             "name"                          
##  [3] "host_id"                        "host_name"                     
##  [5] "neighbourhood_group"            "neighbourhood"                 
##  [7] "latitude"                       "longitude"                     
##  [9] "room_type"                      "price"                         
## [11] "minimum_nights"                 "number_of_reviews"             
## [13] "last_review"                    "reviews_per_month"             
## [15] "calculated_host_listings_count" "availability_365"              
## [17] "number_of_reviews_ltm"

Number of Listings per Host

The minimum number of listings the host has in the current scrape, in the city/region geography 1 nights and is 204. On average, there are 6.3784049 listings per host. There are no issues with this column because the minimum of listings has to 1 (otherwise, the host has no listings on AirBnB).

summary(df$calculated_host_listings_count)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.000   1.000   1.000   6.378   3.000 204.000

Number of Reviews in the last 12 months

The minimum number of reviews in the last 12 months was for an AirBnB listing is 0 nights and the maximum of number of reviews is 366. On average, in the last 12 months, there were 7.0926514 reviews per listing.

summary(df$number_of_reviews_ltm)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   0.000   2.000   7.093   9.000 366.000

Number of Reviews

The minimum price for an AirBnB listing is 0 and the maximum is 1331. On average, there are 38.6982951 reviews per listing.

summary(df$number_of_reviews)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##     0.0     3.0    13.0    38.7    45.0  1331.0

Availability

The minimum availability for an AirBnB listing is 0 and the maximum is 365. On average, the listings are available 157.1245934 nights out of the year.

summary(df$availability_365)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##     0.0     0.0   145.0   157.1   308.0   365.0

After much consideration, it was decided to remove ‘availability_365’. On AirBnB data dictionary, it states that ‘[the] availability of the listing x days in the future as determined by the calendar. Note a listing may be available because it has been booked by a guest or blocked by the host.’ It is very unclear what it is meant by 0 nights available.

Merging Datasets: ‘df’ with ‘available_nights_df’

Instead, it was decided to examine next year’s availability from available_nights_df (from 23rd October 2021 to 21st October 2022) to a more accurate reading of availability. Before changing availability column, there were 25515 rows in the dataset.

Dataset ‘df’ was merged with ‘available_nights_df’ using ‘listing_id’ in ‘available_nights_df’ and ‘id’ in ‘df’.

After merging ‘df’ dataset on the columns ‘id’ from ‘df’ dataset and ‘listing_df’ from ‘available_nights_df’ dataset, there were 18169 rows in the dataset. 7346 rows were dropped from the dataset. This would imply that the listings that are no longer available were dropped from the dataset. This was seen as important and accurate for answering the research questions because this would examine the amount of housing that will not be available to Irish tenants for long-term lease between 23rd October 2021 and 21st October 2022. It is unclear what happened to the 7346 listings on the AirBnB or why they were unavailable on the stated year. This ensures that we analyse data relevant to the upcoming year, rather than examine all the previous listings of AirBnB in Ireland.

Minimum Nights

The minimum stay for an AirBnB listing is 1 nights and the maximum of minimum nights is 1000 nights. On average, the minimum stay must be 220.65243 nights. There were 6 rows that had minimum stay over 365 nights It was assumed to be an error and were dropped from the dataset.

summary(df$minimum_nights)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##    1.000    1.000    2.000    4.817    3.000 1000.000

After dropping the outliers

Price

The minimum price for an AirBnB listing is 9 and the maximum is 1173721. As stated above, column ‘price’ is price per day of stay. Of course, price can not be €0 and this was examined to ensure none of the rows contained ‘0’ in price. Maximum price seems to be is 1173721 per night, which seems to be inaccurate. This row was dropped from the dataset.

summary(df$price)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
##       9.0      70.0     100.0     275.8     156.0 1173721.0

After dropping the outliers

After dropping the outliers, there are 18162 row in ‘df’ dataset.

summary(df$price)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##     9.0    70.0   100.0   211.2   156.0 21635.0

Room Type

There are 4 room types: Entire rental unit, Private room, Hotel room, Shared room. However, hotels have planning permission with relevant authorities to host guests and lease rooms, therefore, hotels will be dropped from the data. Because of the small amount of shared rooms in the dataset, shared room were also dropped.

# examining room type available in Room Type
unique(df$room_type)
## [1] Entire rental unit Private room      
## Levels: Entire rental unit Private room

After dropping the ‘Hotel room’ from the data, there are 17860 row in ‘df’ dataset.

Neighbourhood (renamed to ‘lea’)

Neighboourhood has some unclean data and ‘LEA’ was dropped from the values in the column.

unique(df$lea)
##   [1] "Conamara North LEA"                   
##   [2] "Sligo-Drumcliff LEA"                  
##   [3] "Cork City North East LEA"             
##   [4] "Thurles LEA"                          
##   [5] "Kilrush LEA"                          
##   [6] "Killaloe LEA"                         
##   [7] "South West Inner City LEA"            
##   [8] "Athenry-Oranmore LEA"                 
##   [9] "Conamara South LEA"                   
##  [10] "Carlow LEA"                           
##  [11] "Castleknock LEA"                      
##  [12] "Ennistimon LEA"                       
##  [13] "Newport LEA"                          
##  [14] "Skibbereen-West Cork LEA"             
##  [15] "Glenties LEA"                         
##  [16] "Belmullet LEA"                        
##  [17] "Kenmare LEA"                          
##  [18] "Milford LEA"                          
##  [19] "New Ross LEA"                         
##  [20] "South East Inner City LEA"            
##  [21] "Granard LEA"                          
##  [22] "Shannon LEA"                          
##  [23] "Donegal LEA"                          
##  [24] "Claremorris LEA"                      
##  [25] "Clontarf LEA"                         
##  [26] "Carrick-on-Shannon LEA"               
##  [27] "Westport LEA"                         
##  [28] "Ratoath LEA"                          
##  [29] "Bantry-West Cork LEA"                 
##  [30] "Ballinamore LEA"                      
##  [31] "Greystones LEA"                       
##  [32] "Dungarvan LEA"                        
##  [33] "Ballymote-Tobercurry LEA"             
##  [34] "Callan-Thomastown LEA"                
##  [35] "Killarney LEA"                        
##  [36] "Midleton LEA"                         
##  [37] "Wexford LEA"                          
##  [38] "Clonmel LEA"                          
##  [39] "Nenagh LEA"                           
##  [40] "Loughrea LEA"                         
##  [41] "North Inner City LEA"                 
##  [42] "Portlaoise LEA"                       
##  [43] "Listowel LEA"                         
##  [44] "Portlaw-Kilmacthomas LEA"             
##  [45] "Corca Dhuibhne LEA"                   
##  [46] "Cabra-Glasnevin LEA"                  
##  [47] "Dundrum LEA"                          
##  [48] "Ballinasloe LEA"                      
##  [49] "Galway City Central LEA"              
##  [50] "Boyle LEA"                            
##  [51] "Kimmage-Rathmines LEA"                
##  [52] "Cork City North West LEA"             
##  [53] "Ballybay-Clones LEA"                  
##  [54] "Maynooth LEA"                         
##  [55] "Carrickmacross-Castleblayney LEA"     
##  [56] "Adare-Rathkeale LEA"                  
##  [57] "Arklow LEA"                           
##  [58] "Lismore LEA"                          
##  [59] "Castlecomer LEA"                      
##  [60] "Stillorgan LEA"                       
##  [61] "Cavan-Belturbet LEA"                  
##  [62] "Navan LEA"                            
##  [63] "Ashbourne LEA"                        
##  [64] "Buncrana LEA"                         
##  [65] "Carndonagh LEA"                       
##  [66] "Ardee LEA"                            
##  [67] "Wicklow LEA"                          
##  [68] "Baltinglass LEA"                      
##  [69] "Borris-in-Ossory -Mountmellick LEA"   
##  [70] "Pembroke LEA"                         
##  [71] "Ballymun-Finglas LEA"                 
##  [72] "Leixlip LEA"                          
##  [73] "Ennis LEA"                            
##  [74] "Ballina LEA"                          
##  [75] "Newcastle West LEA"                   
##  [76] "Castleisland LEA"                     
##  [77] "Carrigaline LEA"                      
##  [78] "Mallow LEA"                           
##  [79] "Glencullen-Sandyford LEA"             
##  [80] "Athy LEA"                             
##  [81] "Dún Laoghaire-Rathdown County Council"
##  [82] "Gort-Kinvara LEA"                     
##  [83] "Cobh LEA"                             
##  [84] "Tralee LEA"                           
##  [85] "Cappamore-Kilmallock LEA"             
##  [86] "Celbridge LEA"                        
##  [87] "Bandon-Kinsale LEA"                   
##  [88] "Tuam LEA"                             
##  [89] "Birr LEA"                             
##  [90] "Galway City East LEA"                 
##  [91] "Kells LEA"                            
##  [92] "Laytown-Bettystown LEA"               
##  [93] "Muinebeag LEA"                        
##  [94] "Rush-Lusk LEA"                        
##  [95] "Athlone LEA"                          
##  [96] "Waterford City East LEA"              
##  [97] "Donaghmede LEA"                       
##  [98] "Blackrock LEA"                        
##  [99] "Tullow LEA"                           
## [100] "Tallaght Central LEA"                 
## [101] "Moate LEA"                            
## [102] "Howth-Malahide LEA"                   
## [103] "Mullingar LEA"                        
## [104] "Swords LEA"                           
## [105] "Naas LEA"                             
## [106] "Edenderry LEA"                        
## [107] "Kinnegad LEA"                         
## [108] "Sligo-Strandhill LEA"                 
## [109] "Tramore-Waterford City West LEA"      
## [110] "Rathfarnham-Templeogue LEA"           
## [111] "Rosslare LEA"                         
## [112] "Lifford-Stranorlar LEA"               
## [113] "Castlebar LEA"                        
## [114] "Galway City West LEA"                 
## [115] "Ballyjamesduff LEA"                   
## [116] "Dundalk-Carlingford LEA"              
## [117] "Cork City South Central LEA"          
## [118] "Firhouse-Bohernabreena LEA"           
## [119] "Kanturk LEA"                          
## [120] "Monaghan LEA"                         
## [121] "Clane LEA"                            
## [122] "Enniscorthy LEA"                      
## [123] "Bray East LEA"                        
## [124] "Killiney-Shankill LEA"                
## [125] "Limerick City East LEA"               
## [126] "Clondalkin LEA"                       
## [127] "Graiguecullen -Portarlington LEA"     
## [128] "Gorey LEA"                            
## [129] "Roscrea-Templemore LEA"               
## [130] "Ballymahon LEA"                       
## [131] "Dundalk South LEA"                    
## [132] "Fermoy LEA"                           
## [133] "Macroom LEA"                          
## [134] "Kilmuckridge LEA"                     
## [135] "Cashel-Tipperary LEA"                 
## [136] "Kilkenny LEA"                         
## [137] "Manorhamilton LEA"                    
## [138] "Tullamore LEA"                        
## [139] "Longford LEA"                         
## [140] "Tallaght South LEA"                   
## [141] "Limerick City North LEA"              
## [142] "Cork City South East LEA"             
## [143] "Artane-Whitehall LEA"                 
## [144] "Letterkenny LEA"                      
## [145] "Ballyfermot-Drimnagh LEA"             
## [146] "Newbridge LEA"                        
## [147] "Blanchardstown-Mulhuddart LEA"        
## [148] "Cork City South West LEA"             
## [149] "Swinford LEA"                         
## [150] "Drogheda Rural LEA"                   
## [151] "Piltown LEA"                          
## [152] "Trim LEA"                             
## [153] "Carrick-on-suir  LEA"                 
## [154] "Bray West LEA"                        
## [155] "Balbriggan LEA"                       
## [156] "Palmerstown-Fonthill LEA"             
## [157] "Bailieborough-Cootehill LEA"          
## [158] "Drogheda Urban LEA"                   
## [159] "Limerick City West LEA"               
## [160] "Roscommon LEA"                        
## [161] "Kildare LEA"                          
## [162] "Ongar LEA"                            
## [163] "Waterford City South LEA"             
## [164] "Cahir LEA"                            
## [165] "Lucan LEA"

Neighbourhood Group (renamed to ‘council’)

# examining unique values in column 'council'  
unique(df$council)
##  [1] "Galway County Council"                
##  [2] "Sligo County Council"                 
##  [3] "Cork City Council"                    
##  [4] "Tipperary County Council"             
##  [5] "Clare County Council"                 
##  [6] "Dublin City Council"                  
##  [7] "Carlow County Council"                
##  [8] "Fingal County Council"                
##  [9] "Cork County Council"                  
## [10] "Donegal County Council"               
## [11] "Mayo County Council"                  
## [12] "Kerry County Council"                 
## [13] "Wexford County Council"               
## [14] "Longford County Council"              
## [15] "Leitrim County Council"               
## [16] "Meath County Council"                 
## [17] "Wicklow County Council"               
## [18] "Waterford City And County Council"    
## [19] "Kilkenny County Council"              
## [20] "Laois County Council"                 
## [21] "Dún Laoghaire-Rathdown County Council"
## [22] "Galway City Council"                  
## [23] "Roscommon County Council"             
## [24] "Monaghan County Council"              
## [25] "Kildare County Council"               
## [26] "Limerick City And County Council"     
## [27] "Cavan County Council"                 
## [28] "Louth County Council"                 
## [29] "Offaly County Council"                
## [30] "South Dublin County Council"          
## [31] "Westmeath County Council"

New Variable: County

A new variable ‘county’ was created from ‘neighbourhood_group’. Several counties may have two or more county or city councils such as Cork, which has two councils: Cork City Council and Cork County Council. County Galway has two councils too: Galway City Council and Galway County Council. Dublin has several councils: Fingal County Council, South Dublin County Council, Dún Laoghaire-Rathdown County Council, Dublin County Council. Some councils have two in one like Limerick City And County Council. To find out the county, string manipulation was conducted.

unique(df$county)
##  [1] Galway    Sligo     Cork      Tipperary Clare     Dublin    Carlow   
##  [8] Donegal   Mayo      Kerry     Wexford   Longford  Leitrim   Meath    
## [15] Wicklow   Waterford Kilkenny  Laois     Roscommon Monaghan  Kildare  
## [22] Limerick  Cavan     Louth     Offaly    Westmeath
## 26 Levels: Carlow Cavan Clare Cork Donegal Dublin Galway Kerry ... Wicklow

New Variable: Student Accomondation

Creating a new varible ‘student_accomodation’, examining whether the ‘name’ column contains ‘student’ in the description.

New Variable: Lease

Short-term lets are stays of less than 14 days at a time, for example, if you rent out your property on a booking website such as AirBnB so people can stay there for a weekend (Citizensinformation.ie, no date).

A new variable ‘term’ was created to state whether the listing is ‘short-term lease’ or ‘long-term lease’.

New Variable: 90-Day Threshold

Homeowners in RTZs (RPZs) are required to apply for planning permission if they let out their entire home (principal private residence) for short-term lets of more than 90 days in total while they are away. Principal private residence is the place where one ordinarily live (Citizensinformation.ie, no date).

A new variable ‘threshold_day_90’ was created to state whether the listing is ‘under-90’ or ‘over-90’ days.

New Variable: Total Income

Creating a new variable ‘total_income’, examining the full income potential of a listings by multiplying the price by the number of nights it is available for.

summary(df$total_income)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##       0   10007   21806   56549   38586 7896775

After Dropping Outliers

There are 17860 rows in the ‘df’ dataset before dropping outliers. As seen above in the histogram, there are very limited amount of properties that are above €200,000 in total income per year. It was decided to drop all rows that are over €200,000 in total income because in this project, the affordable listings are examined in relation to the Irish Housing Crisis. Only the ‘affordable’ houses will be examined. It was unclear where to make the cut-off. It was decided to make €200,000 the cut-off even though paying potential rent of €200,000 is not affordable when a tenant is competing the AirBnB prices.

After dropping all rows with total potential income from AirBnB over €200,000, there were 17577 rows in the dataset. 7938 rows were dropped from the dataset.

Merging Datasets: ‘df’ with ‘rent_df’

In ‘df’ dataset, a new column ‘county_city’ was created from ‘council’ to be the same as ‘county_city’ in ‘rent_df’.

unique(rent_df$county_city)
##  [1] "Dublin City"      "Cork City"        "Galway City"      "County Wicklow"  
##  [5] "County Kildare"   "County Meath"     "County Louth"     "County Cork"     
##  [9] "County Westmeath" "County Waterford" "County Kilkenny"  "County Laois"    
## [13] "County Carlow"    "County Galway"    "County Offaly"    "County Limerick" 
## [17] "County Kerry"     "County Clare"     "County Wexford"   "County Tipperary"
## [21] "County Monaghan"  "County Sligo"     "County Cavan"     "County Mayo"     
## [25] "County Roscommon" "County Longford"  "County Donegal"   "County Leitrim"

Datasets ‘df’ and ‘rent_df’ were merged on column ‘county_city’.

Merging Datasets: ‘df’ with ‘homeless_county’

In ‘df’ dataset, a new variable ‘homeless_county’ was created from ‘county’ to hold the same values as ‘homeless_county’ in ‘homeless_df’ dataset. Several counties have been merged together in the report such as ‘Mayo/Roscommon’.

Datasets ‘df’ and ‘homeless_df’ were merged on column ‘homeless_county’.

New Variable: Rent Per Day

Using rent_df (dataset with county or city and average rent), A new variable was calculated ‘rent_price_per_day’ which is the rent the tenant pays per day to stay in their rented property. Although this is not how this is not normally used in the renting market, this variable will be compared to the price of AirBnB, which is in ‘per day’. It was decided to find the rent per day, because not all properties are leased for 365 days a year.

It was also assumed that private rooms will cost one third of an entire house to rent, i.e. if a house’s rent is €1500, then a room to rent is €500. Although this is not the most accurate estimate, it is better than assuming that the price of a private room is the same as a rent of the whole house, i.e. €1500 for private room. This was also operated under the assumptions that all rooms in the house are the same size and have the same bathroom privileges, i.e. all en suite or all sharing.

New Variable: Rent or AirBnB?

New variable was created to examine whether the property should be rented or AirBnB listing.

Some thought was given to whether to compare AirBnB daily price and rent per day OR total income possible from AirBnB and total income from rent. Although comparing daily AirBnB and rent per day would allow to compare the income the landlord would get on per day, it does not show whether it is actually worth while listing the property on AirBnB is more profitable than renting when taking in consideration the amount of nights that the property is available. Two varialbes were developed to examine this: per day and per year.
If the AirBnB price is greater than price, then the property should be an AirBnB listing. If the AirBnB price is lower than price, then the property should be rented.

New Variable: RTZ

The column ‘county_city’ in ‘rpz_df’ had values which contained both values from columns ‘council’ and ‘lea’. In this case, a new column had to be created stating whether the listing is a RTZ or not.

##  [1] "Cork City Council"                     
##  [2] "Dublin City Council"                   
##  [3] "Dún Laoghaire-Rathdown County Council"
##  [4] "Fingal County Council"                 
##  [5] "South Dublin County Council"           
##  [6] "Kildare County Council"                
##  [7] "Ballincolligâ\200“Carrigaline LEA"        
##  [8] "Galway City Central LEA"               
##  [9] "Galway City East LEA"                  
## [10] "Galway City West LEA"                  
## [11] "Celbridge-Leixlip LEA"                 
## [12] "Naas LEA"                              
## [13] "Newbridge LEA"                         
## [14] "Ashbourne LEA"                         
## [15] "Laytown-Bettystown LEA"                
## [16] "Ratoath LEA"                           
## [17] "Bray LEA"                              
## [18] "Wicklow LEA"                           
## [19] "Cobh LEA"                              
## [20] "Maynooth LEA"                          
## [21] "Drogheda Rural LEA"                    
## [22] "Drogheda Urban LEA"                    
## [23] "Drogheda LEA"                          
## [24] "Greystones LEA"                        
## [25] "Limerick City East LEA"                
## [26] "Navan LEA"                             
## [27] "Fermoy LEA"                            
## [28] "Midleton LEA"                          
## [29] "Athenry-Oranmore LEA"                  
## [30] "Gort-Kinvara LEA"                      
## [31] "Kilkenny LEA"                          
## [32] "Graiguecullen-Portarlington LEA"       
## [33] "Portlaoise LEA"                        
## [34] "Limerick City North LEA"               
## [35] "Limerick City West LEA"                
## [36] "Ardee LEA"                             
## [37] "Dundalk-Carlingford LEA"               
## [38] "Dundalk South LEA"                     
## [39] "Kells LEA"                             
## [40] "Trim LEA"                              
## [41] "Waterford City East LEA"               
## [42] "Waterford City South LEA"              
## [43] "Athlone LEA"                           
## [44] "Gorey LEA"                             
## [45] "Arklow LEA"                            
## [46] "Carlow LEA"                            
## [47] "Macroom LEA"                           
## [48] "Piltown LEA"                           
## [49] "Sligo-Strandhill LEA"                  
## [50] "Baltinglass LEA"                       
## [51] "Mallow LEA"                            
## [52] "Killarney LEA"                         
## [53] "Athy LEA"                              
## [54] "Tullamore LEA"                         
## [55] "Mullingar LEA"                         
## [56] "Bandon-Kinsale LEA"

New Variable: Planning Permission

Creating a new variable ‘planning_permission’ in ‘df’ dataset to examine whether planning permission is required for the AirBnB listing. As stated above, an AirBnB listings of an entire property over 90 days in RTZ requires planning permission with the local authorites. New column will state whether planning permission is required or not.

New Datasets: ‘df’ with ‘summarise_df’

Dataset ‘df’ was merged with ‘summarise_df’ using ‘listing_id’ in ‘available_nights_df’ and ‘id’ in ‘df’.

names(large_df)
##  [1] "id"                             "homeless_county"               
##  [3] "county_city"                    "name"                          
##  [5] "host_id"                        "host_name"                     
##  [7] "council"                        "lea"                           
##  [9] "latitude"                       "longitude"                     
## [11] "room_type"                      "price"                         
## [13] "minimum_nights"                 "number_of_reviews"             
## [15] "last_review"                    "reviews_per_month"             
## [17] "calculated_host_listings_count" "availability_365"              
## [19] "number_of_reviews_ltm"          "X.x"                           
## [21] "available_nights"               "county"                        
## [23] "student_accomodation"           "term"                          
## [25] "threshold_day_90"               "total_income"                  
## [27] "rent_price_per_month"           "number"                        
## [29] "rent_price_per_day"             "rent_price_per_year"           
## [31] "per_day_rent_AirBnB"            "per_year_rent_AirBnB"          
## [33] "rent_pressure_zone"             "planning_permission"           
## [35] "X.y"                            "month"                         
## [37] "count"                          "min_price"                     
## [39] "mean_price"                     "max_price"                     
## [41] "mmonth"
names(large_df)
##  [1] "id"                   "host_id"              "room_type"           
##  [4] "county"               "student_accomodation" "term"                
##  [7] "threshold_day_90"     "per_day_rent_AirBnB"  "per_year_rent_AirBnB"
## [10] "rent_pressure_zone"   "planning_permission"  "month"               
## [13] "count"                "min_price"            "mean_price"          
## [16] "max_price"

In the final ‘large_df’ dataset, there are 144701 rows and 16 columns. Columns names are id, host_id, room_type, county, student_accomodation, term, threshold_day_90, per_day_rent_AirBnB, per_year_rent_AirBnB, rent_pressure_zone, planning_permission, month, count, min_price, mean_price, max_price.

## 'data.frame':    144701 obs. of  16 variables:
##  $ id                  : Factor w/ 25515 levels "11532","24927",..: 3104 3104 3104 3104 3104 3104 3104 3104 3104 3104 ...
##  $ host_id             : Factor w/ 17020 levels "42928","43984",..: 4209 4209 4209 4209 4209 4209 4209 4209 4209 4209 ...
##  $ room_type           : Factor w/ 2 levels "Entire rental unit",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ county              : Factor w/ 26 levels "Carlow","Cavan",..: 7 7 7 7 7 7 7 7 7 7 ...
##  $ student_accomodation: logi  FALSE FALSE FALSE FALSE FALSE FALSE ...
##  $ term                : Factor w/ 2 levels "long-term lease",..: 2 2 2 2 2 2 2 2 2 2 ...
##  $ threshold_day_90    : Factor w/ 2 levels "over-90","under-90": 1 1 1 1 1 1 1 1 1 1 ...
##  $ per_day_rent_AirBnB : Factor w/ 2 levels "AirBnB","Rent": 1 1 1 1 1 1 1 1 1 1 ...
##  $ per_year_rent_AirBnB: Factor w/ 2 levels "AirBnB","Rent": 2 2 2 2 2 2 2 2 2 2 ...
##  $ rent_pressure_zone  : Factor w/ 2 levels "Non-RPZ","RPZ": 1 1 1 1 1 1 1 1 1 1 ...
##  $ planning_permission : chr  "Not Required" "Not Required" "Not Required" "Not Required" ...
##  $ month               : Factor w/ 12 levels "January","February",..: 10 3 8 6 1 2 9 12 11 5 ...
##  $ count               : int  13 29 1 2 20 6 11 21 30 1 ...
##  $ min_price           : int  380 380 380 380 380 380 380 380 380 380 ...
##  $ mean_price          : num  380 380 380 380 380 380 380 380 380 380 ...
##  $ max_price           : int  380 380 380 380 380 380 380 380 380 380 ...
##        id              host_id                    room_type         county     
##  11532  :    12   226804666:  2444   Entire rental unit:97971   Kerry  :20848  
##  27106  :    12   218736839:   948   Private room      :46730   Donegal:17592  
##  36950  :    12   105690532:   912                              Galway :15802  
##  44919  :    12   98759090 :   805                              Dublin :15412  
##  57442  :    12   148347815:   780                              Cork   :15086  
##  88626  :    12   54449369 :   547                              Mayo   : 9914  
##  (Other):144629   (Other)  :138265                              (Other):50047  
##  student_accomodation               term        threshold_day_90 
##  Mode :logical        long-term lease :  2969   over-90 :134155  
##  FALSE:142148         short-term lease:141732   under-90: 10546  
##  TRUE :2553                                                      
##                                                                  
##                                                                  
##                                                                  
##                                                                  
##  per_day_rent_AirBnB per_year_rent_AirBnB rent_pressure_zone
##  AirBnB:140843       AirBnB: 16962        Non-RPZ:96757     
##  Rent  :  3858       Rent  :127739        RPZ    :47944     
##                                                             
##                                                             
##                                                             
##                                                             
##                                                             
##  planning_permission      month           count         min_price    
##  Length:144701       March   :14046   Min.   : 1.00   Min.   :  9.0  
##  Class :character    June    :13351   1st Qu.:24.00   1st Qu.: 70.0  
##  Mode  :character    February:13320   Median :30.00   Median :100.0  
##                      May     :13209   Mean   :26.22   Mean   :127.6  
##                      January :13182   3rd Qu.:31.00   3rd Qu.:150.0  
##                      April   :12821   Max.   :31.00   Max.   :999.0  
##                      (Other) :64772                   NA's   :309    
##    mean_price       max_price    
##  Min.   :  9.00   Min.   :  9.0  
##  1st Qu.: 70.93   1st Qu.: 75.0  
##  Median :104.00   Median :110.0  
##  Mean   :131.09   Mean   :138.6  
##  3rd Qu.:154.29   3rd Qu.:163.0  
##  Max.   :999.00   Max.   :999.0  
##  NA's   :309      NA's   :309

Data Dictionary

Field Type Description
id integer AirBnB’s unique identifier for the listing
host_id integer Host’s unique identifier
month date Month of the year
min_price integer Minimum price for that listing in that month
mean_price integer Mean price for that listing in that month
max_price integer Maximum price for that listing in that month
count integer Number of nights available in that month
county text County of AirBnB Listing
student_accomodation logical Whether TRUE or FALSE
room_type logical Room type: Entire rental unit, Private room, Shared room
threshold_day_90 text Whether over-90 or under-90 days
term text Whether the AirBnB listing is available for long-term lease or short-term lease
per_day_rent_AirBnB text Whether the property should be AirBnBed or rented our based on daily price
per_year_rent_AirBnB text Whether the property should be AirBnBed or rented our based on potential income

Final Dataset

In the final ‘df’ dataset, there are 17260 rows and 34 columns. Columns names are homeless_county, county_city, id, name, host_id, host_name, council, lea, latitude, longitude, room_type, price, minimum_nights, number_of_reviews, last_review, reviews_per_month, calculated_host_listings_count, availability_365, number_of_reviews_ltm, X, available_nights, county, student_accomodation, term, threshold_day_90, total_income, rent_price_per_month, number, rent_price_per_day, rent_price_per_year, per_day_rent_AirBnB, per_year_rent_AirBnB, rent_pressure_zone, planning_permission.

Because our dataset was has been merged with ‘available_nights_df’, as described above, our dataset has AirBnB listings only available from 23rd October 2021 to 21st October 2022. Any past AirBnB are not included in our dataset.

##                                  homeless_county         county_city  
##  Kerry                                   :2396   County Kerry  :2396  
##  Dublin                                  :2230   Dublin City   :2230  
##  Donegal/Leitrim                         :2201   County Donegal:1951  
##  Galway (Galway City and County councils):1885   County Cork   :1560  
##  Cork (Cork City and County councils)    :1815   County Galway :1300  
##  Mayo/Roscommon                          :1332   County Mayo   :1154  
##  (Other)                                 :5401   (Other)       :6669  
##        id            name                host_id       host_name        
##  11532  :    1   Length:17260       226804666:  204   Length:17260      
##  24927  :    1   Class :character   98759090 :   81   Class :character  
##  27106  :    1   Mode  :character   218736839:   79   Mode  :character  
##  36950  :    1                      105690532:   76                     
##  40176  :    1                      148347815:   65                     
##  42037  :    1                      54449369 :   52                     
##  (Other):17254                      (Other)  :16703                     
##    council              lea               latitude       longitude      
##  Length:17260       Length:17260       Min.   :51.43   Min.   :-10.463  
##  Class :character   Class :character   1st Qu.:52.23   1st Qu.: -9.431  
##  Mode  :character   Mode  :character   Median :53.27   Median : -8.467  
##                                        Mean   :53.14   Mean   : -8.266  
##                                        3rd Qu.:53.72   3rd Qu.: -7.050  
##                                        Max.   :55.38   Max.   : -6.014  
##                                                                         
##               room_type         price        minimum_nights   number_of_reviews
##  Entire rental unit:11438   Min.   :   9.0   Min.   :  1.00   Min.   :   0.00  
##  Private room      : 5822   1st Qu.:  70.0   1st Qu.:  1.00   1st Qu.:   4.00  
##                             Median : 100.0   Median :  2.00   Median :  18.00  
##                             Mean   : 130.8   Mean   :  4.58   Mean   :  44.54  
##                             3rd Qu.: 150.0   3rd Qu.:  3.00   3rd Qu.:  53.00  
##                             Max.   :2057.0   Max.   :365.00   Max.   :1331.00  
##                                                                                
##  last_review        reviews_per_month calculated_host_listings_count
##  Length:17260       Min.   : 0.010    Min.   :  1.000               
##  Class :character   1st Qu.: 0.400    1st Qu.:  1.000               
##  Mode  :character   Median : 0.920    Median :  2.000               
##                     Mean   : 1.404    Mean   :  7.345               
##                     3rd Qu.: 1.880    3rd Qu.:  3.000               
##                     Max.   :76.130    Max.   :204.000               
##                     NA's   :1873                                    
##  availability_365 number_of_reviews_ltm       X         available_nights
##  Min.   :  0.0    Min.   :  0.000       Min.   :    1   Min.   :  1.0   
##  1st Qu.:113.0    1st Qu.:  0.000       1st Qu.: 4546   1st Qu.:113.0   
##  Median :238.0    Median :  5.000       Median : 9098   Median :238.0   
##  Mean   :219.8    Mean   :  9.636       Mean   : 9099   Mean   :219.8   
##  3rd Qu.:337.0    3rd Qu.: 13.000       3rd Qu.:13667   3rd Qu.:337.0   
##  Max.   :365.0    Max.   :321.000       Max.   :18169   Max.   :365.0   
##                                                                         
##      county     student_accomodation               term       threshold_day_90
##  Kerry  :2396   Mode :logical        long-term lease :  392   over-90 :13508  
##  Dublin :2230   FALSE:17039          short-term lease:16868   under-90: 3752  
##  Donegal:1951   TRUE :221                                                     
##  Galway :1885                                                                 
##  Cork   :1815                                                                 
##  Mayo   :1154                                                                 
##  (Other):5829                                                                 
##   total_income    rent_price_per_month     number     rent_price_per_day
##  Min.   :     0   Min.   : 744         Min.   :  12   Min.   :  8.153   
##  1st Qu.:  9960   1st Qu.: 974         1st Qu.:  43   1st Qu.: 16.241   
##  Median : 21500   Median :1045         Median :  94   Median : 29.030   
##  Mean   : 28899   Mean   :1340         Mean   : 688   Mean   : 33.473   
##  3rd Qu.: 37563   3rd Qu.:1443         3rd Qu.: 254   3rd Qu.: 35.638   
##  Max.   :199925   Max.   :9667         Max.   :4432   Max.   :317.819   
##                                                                         
##  rent_price_per_year per_day_rent_AirBnB per_year_rent_AirBnB
##  Min.   :  2976      AirBnB:16810        AirBnB: 4240        
##  1st Qu.:  5928      Rent  :  450        Rent  :13020        
##  Median : 10596                                              
##  Mean   : 12218                                              
##  3rd Qu.: 13008                                              
##  Max.   :116004                                              
##                                                              
##  rent_pressure_zone planning_permission
##  Non-RPZ:10987      Length:17260       
##  RPZ    : 6273      Class :character   
##                     Mode  :character   
##                                        
##                                        
##                                        
## 

Data Dictionary

Field Type Description
id integer AirBnB’s unique identifier for the listing
name text Title of the property on AirBnB
host_id interger AirBnB’s unique identifier for the host
host_name text Host’s name
lea text Local Electoral Areas (LEAs)
council text County or City Council
county text County of the AirBnB Listing
latitude numeric Uses the World Geodetic System (WGS84) projection for latitude and longitude
longitude numeric Uses the World Geodetic System (WGS84) projection for latitude and longitude
room_type string Entire rental unit, Private room, Shared room, Hotel room
price currency Daily price in local currency
minimum_nights integer minimum number of night stay for the listing (calendar rules may be different)
number_of_reviews integer The number of reviews the listing has
last_review date The date of the last/newest review
calculated_host_listings_count integer The number of listings the host has in the current scrape, in the city/region geography
availability_365 integer availability_x. The availability of the listing x days in the future as determined by the calendar. Note a listing may be available because it has been booked by a guest or blocked by the host
number_of_reviews_ltm integer The number of reviews the listing has (in the last 12 months)
student_accomodation logical Whether TRUE or FALSE
total_income interger AirBnB listings potential total income (available nights * price)
threshold_day_90 text Whether over-90 or under-90 days
term text Whether the AirBnB listing is available for long-term lease or short-term lease
per_day_rent_AirBnB text Whether the property should be AirBnBed or rented our based on daily price
per_year_rent_AirBnB text Whether the property should be AirBnBed or rented our based on potential income

Data Visualisation

AirBnB OverView

Comment: It is clear from this graph that there are some parts of Ireland that have more AirBnB listings than others. It is easy to see that there are more properties available on the coast than inland.

Room Types are available on AirBnB

Where are the AirBnB listings in Ireland?

Comment: It was surprising to see that Kerry has more AirBnB listings available than Dublin. It is also important to note that the first seven in the table (except for Dublin) are all on the Wild Atlantic Way.

Summary of AirBnB listings

Comment: Even though Kerry has more options for accomondation than Dublin, it is also more expensive.

When are most AirBnB listings Available?

Comment: There are less AirBnB listings available in the summer, than the winter. However, it is possible that the AirBnB listings are not yet for the summer.

Breakdown by County

Comment: By clicking on different counties, it is possible to see the difference between counties on types of accommodation available. Dublin has more private rooms available than entire rental units. However, in Galway and Cork, there are more entire rental units available than private rooms.

Comment: It is possible to select the same county in the two graphs above and compare. For example, Dublin has more entire rental units than private rooms, entire rental units are more expensive than private rooms.

## `summarise()` has grouped output by 'month'. You can override using the `.groups` argument.

Comment: It is interesting to compare AirBnB listings for each month and county. Big cities like Dublin, Cork, Galway and Limerick, including Kerry, have less AirBnB listings in teh summer. It is unclear why this is the case, considering more tourists come to Ireland during the summer.

Conclusion

The initial examination of the data, shows that there are more AirBnB Listing in Kerry than Dublin. Top 7 county with AirBnB listings are on the Wild Atlantic Way. The map of Ireland shows the density of the number of listings on the coast. For some reason, there are less AirBnB listings in the summer than the winter. Number of room types differs depedning on the county. Dublin City, Cork City and Galway City, The county breakdown examination shows no difference in price or mininum nights required to stay regardless of room type.

RPZ

Comment: Map of Ireland represents the density of AirBnB listings, highlighting the areas that are in RTZs (in red). Athough Dublin City, Cork City and Galway City are all in RTZs, it is possible to see the huge amount of AirBnB listings available, which can be affecting the Irish Housing Crisis.

Summary of RTZs

Comment: There are more entire rental units and private rooms available outside of RTZs than there are in the RTZs.

Breakdown of AirBnB listings by Accomodation Type and RPZ

Comment: Table above is summarised with this graph. There are more entire rental units and private rooms available outside of RTZs than there are in the RTZs. However, this could be due to fact that there are more houses in general outside the RTZs than inside the RTZs, which would show more AirBnB listings outside RTZs than inside RTZs.

Breakdown of Price by: Room Type and non-/RTZ

Comment: Although, there is a difference between entire rental unit and private/shared room on price, there is no big difference between renting private/shared room inside or outside the RTZ. However, an entire rental unit is slightly more expensive in RTZs than outside RTZs.

## `summarise()` has grouped output by 'month'. You can override using the `.groups` argument.

Comment: In the table above, number of listings is summarised by RTZ and month.

## `summarise()` has grouped output by 'month'. You can override using the `.groups` argument.

Comment: In the graph above visusalises the table above. As seen above, there are overall less AirBnB listings in RTZs than in Non-RTZs. Furthermore, the trend follows for the month: less AirBnBs are available during the summer than in the winter.

RPZ: Conclusion

Map of Ireland shows that there are a lot of AirBnB listings in RTZs, which would affect the number of accommodation available for the housing market, to buy or to rent. There are as many entire rental units as private rooms in RTZs. There are more entire rental units outside of RTZs because there are more areas not in RTZs than there are in RTZs. At first glance, due to the amount of AirBnB listings in RTZs, it could be argued to the government that it could potentially reduce the pressure on the Irish housing market and reduce the Housing Crisis in RTZs.

Entire Rental Unit

A new dataset was created where AirBnB listings were selected that offered entire rental unit. This new dataset was used for this section of the report.

Summary of Entire Rental Units

Entire Rental Units by County

Comment: Kerry and Donegal have more entire rental units than other counties. Dublin is only 5th highest, while Cork and Galway are in 3rd and 4th place.

Summary of Entire Rental Units by Counties

Counties by RTZs

Comment: When Kerry was examined, 326 AirBnB listings are in the RTZ, while the rest is outside the RTZ. Both County Galway and County Cork have AirBnB listings in RTZ and outside of it. All Dublin City AirBnBlistings, Cork City AirBnB listings and Galway City AirBnB listings is in the RTZ.

Summary of Counties by RTZs

## `summarise()` has grouped output by 'county'. You can override using the `.groups` argument.

Price by County and RPZ

Mininum Nights by County and RPZ

Availability

Comment:
It is visible that a lot of properties are not available all year around. Unfortunately, no reason is provided why the property is unavailable.

Time of Year by RTZs

## `summarise()` has grouped output by 'month'. You can override using the `.groups` argument.

Comment: In the table above, number of listings of entire rental units is summarised by RTZ and month.

## `summarise()` has grouped output by 'month'. You can override using the `.groups` argument.

Comment:
This graph shows less entire rental units available during summer months in RTZs and Non-RTZs. It is still unclear why.

Profitablity PER DAY

Comment: When comparing daily rent rate and daily AirBnB, for most properties, it is more profitable to AirBnB.

Comment: The table above the shows the breakdown of which entire rental units should be rented out or leased out as AirBnB, when only the daily price and daily rent rate is to be considered.

Profitablity PER YEAR

Comment: However, when comparing total potential income (available nights * price) and annual income (rent_in_ireland.csv * 12), it seems that most landlords are missing out on the potential annual rent. THis could be due to the fact that the rental unit is not available all year around.

Comment: The table above the shows the breakdown of which entire rental units should be rented out or leased out as AirBnB, when only the daily price and daily rent rate is to be considered.

Threshold Examinination

As previously stated, homeowners in RTZs (RPZs) are required to apply for planning permission if they let out their entire home (principal private residence) for short-term lets of more than 90 days in total while they are away. Principal private residence is the place where one ordinarily live.

Comment: There are very small amount of properties in the Rent Pressures Zones that are over 90 day threshold that would require planning permission.

Comment: Summary of the graph above, there are very small amount of properties in the Rent Pressures Zones that are over 90 day threshold that would require planning permission.

Stay Duration

Term by RTZs

Comment: Entire rental units available in RTZs are more expensive than outside of RTZs. There is a slight difference between price between short-term lease and long-term lease.

Mininum Nights by Term and RTZs

Comment: There seems to be a difference in mininum nights to stay in Entire rental units available in RTZs are more expensive than outside of RTZs. Short-term lease is up to 15 days, so that is why is very small window of stay.

Entire Rental Unit: Conclusion

There is more entire rental units in Kerry than in other places in Ireland. When availability was examined, it was clear that not all entire rental units were available all year around. When examining the months of year, it is clear that there are less entire rental units available in the summer than other times of the year. It is unclear why this occurs and what is the landlord’s motivation behind this. Majority of stays of entire rental units are available for short-term stays (mininum nights under 14 days) and availability for the year is below 90 days. In RTZs, there are only 2,356 properties that require planning permission (availability over 90 days in the year and in RTZs). This would mean that there are over 2,000 properties that could be placed into long-term rental market to ease the Housing Crisis in Ireland. Analysis of potential income from rent vs AirBnB shows that most of the AirBnB earn less than the potential rental annual income. Of course, this is because most entire rental units on AirBnB are not available all year around, motivation for this is unclear.

Private Room

A new dataset was created where AirBnB listings were selected that offered private rooms in a shared house. This new dataset was used for this section of the report.

Summary of Private Rooms

Private Rooms by County

Breakdown of Private Room AirBnB listings by County and RPZ

Comment: Dublin has the most number of private rooms available, all of which are in the RTZ. However, the next three in the RTZ are: Kerry, Cork City and Galway City.

Price by RPZ and County

Comment: There are no visible difference between prices of private room AirBnB listings regardless of whether the AirBnB is in RTZ or County.

Minimum Nights by RPZ and County

Comment: There are no visible difference between minimum nights required to stay in private room AirBnB listings regardless of whether the AirBnB is in RTZ or County.

Profitability PER DAY

Comment: When comparing daily rent rate and daily AirBnB, for most properties, it is more profitable to AirBnB.

Profitability PER YEAR

Comment: However, when comparing total potential income (available nights * price) and annual income (rent_in_ireland.csv * 12), it seems that most landlords are missing out on the potential annual rent. THis could be due to the fact that the rental unit is not available all year around.

Availability

Comment: Above Map of Ireland, shows the availability of private rooms. It seems that there are a lot of private rooms that are not available all year around.

Time of Year by RTZs

## `summarise()` has grouped output by 'month'. You can override using the `.groups` argument.

Comment: The graph above shows that regardless of RTZs, there are still less availability during the summer than winter.

## `summarise()` has grouped output by 'month'. You can override using the `.groups` argument.

Comment: In the table above, number of listings of private rooms is summarised by RTZ and month. A table of above illustration.

Private Room by RTZ and Threshold (under/over 90 days)

As previously stated, homeowners in RTZs (RPZs) are required to apply for planning permission if they let out their entire home (principal private residence) for short-term lets of more than 90 days in total while they are away. Principal private residence is the place where one ordinarily live. However, there is no threshold for private rooms. It is still interesting to examine this relationship

Comment: There are 2,124 private rooms that are available over 90 days in RTZs. If the same rules were applied to private rooms as entire rental units, then these properties would require planning permission.

Stay Duration

Price by Term and RTZs

Comment: There are absolutely no difference between private room listings inside and outside RTZs and term type (under/over-90). This means that regardless of nights stayed in RTZs, the price is very similar.

Private Room: Conclusion

In a lot of counties, there are as many private rooms as there are entire rental units. Dublin has the most number of private rooms, all of which are in the RTZ. There are no planning permission required for long-term stays in RTZs with availability for over-90 days. In RTZs, there are only 3,011 private rooms available on AirBnB, while there are 3,152 private rooms outside RTZs. Most of the properties in Rent Pressure could be placed into long-term rental market to ease the Housing Crisis in Ireland. Analysis of potential income from rent vs AirBnB shows that most of the AirBnB earn less than the potential rental annual income. Of course, this is because most entire rental units on AirBnB are not available all year around, motivation for this is unclear.

There are 2,124 private rooms that are available over 90 days in RTZs. If the same rules were applied to private rooms as entire rental units, then these properties would require planning permission. Identifying this should help lobbyists of change to regulations to include private rooms in their cut-offs.

Top 5 Hosts with the most listings on AirBnB in RTZs

A new dataset was created where 5 AirBnB hosts with the most properties were selected. This new dataset was used for this section of the report.

Summary of Top AirBnB Hosts

## `summarise()` has grouped output by 'host_id'. You can override using the `.groups` argument.

Comment: Table above examines the AirBnB listings by counting the number of listings in RTZs for each host, ordering it in ascending order. One hosts has over 200 AirBnB listings.

Location of Properties owned by Top AirBnB listings

Comment: Map of Ireland examines the location of AirBnB listings in RTZs for those Top hosts. By double clicking on the id in the legend, it possible to just select one host and examine the location of their AirBnBs in RTZs. Some hosts has several AirBnB listings in different counties. It is unclear how they manage their properties for AirBnB.

Room Type in Top Hosts in RTZs by County

Comment: Dublin City has the most AirBnB hosts with properties regardless of room type. There are also more private rooms than entire rental units. Galway City and Cork City also have hosts that have many AirBnB listings. However, there are more entire rental units than private rooms in those cities.

Top Hosts: Conclusion

There are individuals who hold a lot of property in RTZs. It is unclear how those individuals manage their properties around Ireland. It could be suggested that having too many properties on AirBnB should be part of planning permission. This would allow landlords to have constant tenants and not worry about managing their AirBnB properties around Ireland.

Student Accomodation

A new dataset was created where AirBnB listings were selected that offered student accommodation. This new dataset was used for this section of the report.

Summary of Student Accomodation

Comment: Table above shows the summary of accomodation for students by county. Galway City and Cork City have the highest mean rates, even higher than Dublin.

AirBnB listings targetting Students by County

Comment: Although Galway City and Cork City are the most expensive for student accommodation, there is still more listings for Dublin City. There is only one Clare listing targetting students

AirBnB hosts that taget students

Comment: AirBnB listings, that contain ‘student’ in name/description, have property in Dublin City, Cork City and Galway City.

Comment: By double clicking on the host_id in the legend, it is clear tha the host with host_id ‘226804666’ has property in Dublin, Cork and Galway.

Type of Accomodation available to Students

Comment: There are 176 private rooms available in Dublin, comparing to four entire rental units targeting students in Dublin. Cork City and Galway City have more private rooms than entire renal units.

## `summarise()` has grouped output by 'room_type'. You can override using the `.groups` argument.

Profit PER YEAR

## `summarise()` has grouped output by 'county'. You can override using the `.groups` argument.

Student Accomodation: Conclusion

There are a lot of AirBnB listings targetting students in Dublin, however, Cork City and Galways City charge students more for this service, based on average. One hosts has 216 listings that target student, ranging in location. It is unclear why this host does not advertise on Daft.ie as long-term student accomodation. Most of the listings that taget students are private rooms, with very slim amount are entire rental units. It is unclear of the size of these entire rental units and why the listing is not on Daft.ie. It has also been shown that it is more profitable to rent the properties, in all but 5 properties. It could be argued that these listings should be on daft.ie advertised to students, not on AirBnB for short-term lease.

Homelessness

Homelessness by County or Region

Comment: Above graph examines the number of homeless in each county or region, as reported by the government. Dublin has the highest number of homeless people than any other county or region.

AirBnB by County or Region

Comment: When comparing AirBnB listing in the same county or region, it is clear that it is possible to place all homeless individuals into AirBnBs listings if these Listings became available for long-term lease.

Conclusion

There are concerns that AirBnB listings are reducing the supply of long-term leases in RPZs, which was shown to be true. The regulation that is being put forward by the government to dramatically decrease the number of AirBnB listings of entire rental units is very useful, however, this should also apply to private rooms in RPZs, which can be used by college students and young professionals. Entire rental units can be used by families or couples for long-term rent. Furthermore, it is unclear why the landlords choose to put their property on AirBnB when it has been showen that it is more profitable to rent the property when comparing potential AirBnB earning for the year (available nights * daily price) and potential annual rent earnings (rent per month * 12).

As previously stated, a lot of listings were placed as long-term listings when the pandemic hit, hopefully reducing the pressure on the housing crisis. However, as we continue to come out of the pandemic, we should worry about the return of lack of accommodation in RPZs because of tourist season and increase in AirBnB listings.

Limitations

Data Although there were 34 columns of data in the final data, there are a few vital piece of information are missing. There are entire rental units (houses or apartments) that available for over 90 days of the year in Rent Pressurised Areas, which would require a planning permission. However, this poses a different question: - Why don’t AirBnB hosts have their properties available all year around? - Why do AirBnB hosts choose to place their property on AirBnB and not do long-term leasing? - Should the government create incentives for AirBnB hosts to lease their property for long-term? - Based on above question, perhaps, the government should review obstacles of long-term leasing.

Licence / Planning Permission After reading Data Dictionary provided AirBnB, it is unclear what is meant by column ‘licence’ in the AirBnB data. Data analysis at the beginning showed that there are no values in column ‘licence’ and it was dropped from analysis. However, this raises concerns that it be referring to the planning permission required by the local authorities from hosts in RPZ. Lack of planning permissions from the local authorities should be examined. AirBnB should seek planning permissions from their hosts if they meet the criteria for planning permission.

Solving the Homelessness Issue in Ireland Although the homeless data was used as an example of using AirBnB listings as long-term rental units, it is still flawed. A fraction of homeless individuals have addiction or mental health issues, for which they seek support for in homeless charities such as Simon Community and Focus Ireland. These charities have specific housing for individuals who require extra support in their permanent homes. This would mean that simply placing them on their own into a house supplied from AirBnB would not solve the underlying issues but just place them into further isolation.

However, it is clear that properties that are on AirBnB could have huge potential to reduce the pressure on the Housing Crisis. Reduction of entire rental units and private rooms available on AirBnB could help to increase the number of properties available in RPZs for long-term rental for young families and students. This could reduce the rent for all residents in RPZ as more rental units are available and stabilise the rental markets.

References

Burke, C. (2021) Rents continue to rise across Ireland as number of rental homes available hits ‘all-time low’, TheJournal.ie. Available at: https://www.thejournal.ie/daft-rental-report-all-time-low-5596453-Nov2021/ (Accessed: 17 December 2021).

Burke-Kennedy, E. (2021) Airbnb exodus increases stock of rental property in Dublin by 90%, The Irish Times. Available at: https://www.irishtimes.com/business/economy/airbnb-exodus-increases-stock-of-rental-property-in-dublin-by-90-1.4654155 (Accessed: 17 December 2021).

Citizensinformation.ie (no date) Renting your property for short-term lets. Citizensinformation.ie. Available at: https://www.citizensinformation.ie/en/housing/owning_a_home/home_owners/renting_your_property_for_shortterm_lets.html (Accessed: 17 December 2021).

Department of Housing, Local Government and Heritage (2021) Homeless Report - September 2021. Available at: https://www.gov.ie/en/publication/0d7a7-homeless-report-september-2021/ (Accessed: 19 December 2021).

Lyons, R. (2021) Irish Rental Report Q2 2021. Available at: https://ww1.daft.ie/report/ronan-lyons-2021q2-daftrentalprice?d_rd=1 (Accessed: 17 December 2021).

McGrath, D. (2021) Number of homeless people in Ireland rises for third month in a row – 8,212 adults and children now without home, Independent. Available at: https://www.independent.ie/irish-news/number-of-homeless-people-in-ireland-rises-for-third-month-in-a-row-8212-adults-and-children-now-without-home-40885752.html (Accessed: 19 December 2021).

Pope, C. (2021) New restrictions likely to reduce supply of short-term rental property, The Irish Times. Available at: https://www.irishtimes.com/business/new-restrictions-likely-to-reduce-supply-of-short-term-rental-property-1.4653404 (Accessed: 17 December 2021).

Residential Tenancies Board (2021) What are Rent Pressure Zones (RPZ)? Available at: https://www.rtb.ie/during-a-tenancy/rent-review-in-a-rent-pressure-zone-rpz?gclid=Cj0KCQiAzfuNBhCGARIsAD1nu-8YhjJPsVbhgWjuM0et4lZX2ansT4b4XkLEEx9G63vDiVsptSzv8toaAkdDEALw_wcB (Accessed: 19 December 2021).